package com.ssy.lingxi.settle.accounts.model.vo.request;

import com.ssy.lingxi.common.model.vo.PageVO;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.PositiveOrZero;

/**
 * 会员结算分页VO
 * @author 伍将
 * @date 2020/10/23
 * @version 2.0.0
 */
public class MemberSettlementPageVO extends PageVO {
    private static final long serialVersionUID = 4376177694615476158L;

    /**
     * 开始时间 （yyyy-MM-dd）
     */
    private String startTime;

    /**
     * 结束时间 （yyyy-MM-dd）
     */
    private String endTime;

    /**
     * 结算方
     */
    private String settlementName;

    /**
     * 付款方
     */
    private String payName;

    /**
     * 结算单据类型: 0-所有，1-生成通知单，2-物流单
     */
    @NotNull(message = "结算单据类型要大于等于0")
    @PositiveOrZero(message = "结算单据类型要大于等于0")
    private Integer orderType;

    /**
     * 结算状态：0-所有，1-待对账，2-待付款，3-待收款，4-已完成
     */
    @NotNull(message = "结算状态要大于等于0")
    @PositiveOrZero(message = "结算状态要大于等于0")
    private Integer status;

    /**
     * 结算单号
     */
    private String settlementNo;
    /**
     * 预付开始时间
     */
    private Long prePayStartTime;

    /**
     * 预付结束时间
     */
    private Long prePayEndTime;
    /**
     * 实付开始时间
     */
    private Long payStartTime;

    /**
     * 实付结束时间
     */
    private Long payEndTime;

    public String getSettlementNo() {
        return settlementNo;
    }

    public void setSettlementNo(String settlementNo) {
        this.settlementNo = settlementNo;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getSettlementName() {
        return settlementName;
    }

    public void setSettlementName(String settlementName) {
        this.settlementName = settlementName;
    }

    public String getPayName() {
        return payName;
    }

    public void setPayName(String payName) {
        this.payName = payName;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getPrePayStartTime() {
        return prePayStartTime;
    }

    public void setPrePayStartTime(Long prePayStartTime) {
        this.prePayStartTime = prePayStartTime;
    }

    public Long getPrePayEndTime() {
        return prePayEndTime;
    }

    public void setPrePayEndTime(Long prePayEndTime) {
        this.prePayEndTime = prePayEndTime;
    }

    public Long getPayStartTime() {
        return payStartTime;
    }

    public void setPayStartTime(Long payStartTime) {
        this.payStartTime = payStartTime;
    }

    public Long getPayEndTime() {
        return payEndTime;
    }

    public void setPayEndTime(Long payEndTime) {
        this.payEndTime = payEndTime;
    }
}
